package cl.utfsm.isw.mecanico.delegates;

import java.rmi.RemoteException;
import java.util.List;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;

import cl.utfsm.isw.mecanico.beans.menu.Menu;
import cl.utfsm.isw.mecanico.to.MenuTO;


public class MenuDelegate {

private Menu menu;
	
	public MenuDelegate() throws RemoteException {
		System.out.println("[MenuDelegate][MenuDelegate] Ingreso al metodo.");
		
	    Properties props = new Properties();  
        props.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");  
        props.put(Context.PROVIDER_URL,"t3://127.0.0.1:7001");
		
		System.out.println("[MenuDelegate][MenuDelegate] Propiedades de contexto JNDI seteadas.");
		 
		try{

			Context ctx = new InitialContext(props);  
			System.out.println("[MenuDelegate][MenuDelegate] Contexto JNDI Obtenido.");
			
			Object ref = ctx.lookup("MenuBean#"+Menu.class.getName());  
			System.out.println("[MenuDelegate][MenuDelegate] Obtenida referencia al EJB Usuario.");
			
			menu = (Menu)PortableRemoteObject.narrow(ref, Menu.class);  
			
		}catch(Exception ex){
			System.out.println(ex.toString());
		}
	}
	
	public List<MenuTO> obtenerMenu (char tipoUsuario) throws Exception{
		System.out.println("[UsuarioDelegate][obtenerMenu] Obteniendo Metodo.");
        return menu.obtenerMenu(tipoUsuario);
	}
}
